Logical routers

ABSTRACT

Systems and methods include providing a router that may be deployed as multiple logical routers that share a common fast interconnect. These logical routers may functionally serve as core routers, peering routers, aggregation routers, etc. A further aspect of the system and methods is that the resources assigned to a logical router are allocated from a pool potentially including multitude of hardware cards. A further aspect of the system and methods is that a logical router may be independently managed by the owner of the router or by an owner of the logical router.

FIELD

The present invention relates generally to network router systems, andmore particularly to partitioning such routers into one or more virtualrouters.

COPYRIGHT NOTICE/PERMISSION

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever. The following notice applies to the software and dataas described below and in the drawings hereto: Copyright © 2003, CiscoSystems, Inc. All Rights Reserved.

BACKGROUND

The use of networks in general and the Internet in particular continuesto grow, and with each passing day more and more nodes are being addedto networks. The growth of networks causes a commensurate need foradditional network infrastructure, including the need for more andbigger routers.

The need for more capable network infrastructure may be acutely felt by“point of presence” providers. A point of presence (POP) is typicallyconsidered a physical location, either part of the facilities of atelecommunications provider such as an inter-exchange carrier, or aseparate location from the telecommunications provider, that housesservers, routers, ATM switches and digital/analog call aggregators.Internet Service Providers (ISPs), CLECs (Competitive Local ExchangeCarrier) and ILECs (Incumbent Local Exchange Carrier) in turn rent orlease network infrastructure from the POP provider.

In addition to accommodating growth, POP providers require flexibilityin configuring their network infrastructure. This flexibility isrequired, because ISPs and other network infrastructure consumers areconstantly changing their network configuration in response to userdemands.

As a result, there is a need in the art for the present invention.

SUMMARY

The above-mentioned shortcomings, disadvantages and problems areaddressed by the present invention, which will be understood by readingand studying the following specification.

One aspect of the systems and methods includes providing a router thatmay be deployed as multiple logical routers (LRs) that share a commonfast interconnect. These LRs may functionally serve as core routers,peering routers, aggregation routers, etc. A further aspect of thesystem and methods is that the resources assigned to a LR are allocatedfrom a pool potentially including numerous hardware cards having avariety of types. A still further aspect of the system and methods isthat a LR may be managed independently of the router owner. For example,a LR administrator associated with a party that rents or leasescapability from the router owner may administer their own LR, therebyproviding the LR administrator with more control over their own LRconfiguration, and relieving the router owner of the need to be involvedwith every configuration change that occurs on the router.

The present invention describes systems, clients, servers, methods, andcomputer-readable media of varying scope. In addition to the aspects andadvantages of the present invention described in this summary, furtheraspects and advantages of the invention will become apparent byreference to the drawings and by reading the detailed description thatfollows.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a block diagram of a router hardware and operatingenvironment in which different embodiments of the invention can bepracticed;

FIG. 1B is a diagram providing further details of the router hardwareand operating environment according to an embodiment of the invention;

FIG. 1C is a diagram providing further details of the datacommunications external and internal to the hardware and operatingenvironment according to an embodiment of the invention;

FIG. 1D is a diagram illustrating administrative and logical routerboundaries according to various embodiments of the invention;

FIG. 2 is a diagram of a router software environment according to anembodiment of the invention; and

FIGS. 3A-3B are flowcharts illustrating methods for creating andmaintaining a virtual private router according to embodiments of theinvention.

DETAILED DESCRIPTION

In the following detailed description of exemplary embodiments of theinvention, reference is made to the accompanying drawings which form apart hereof, and in which is shown by way of illustration specificexemplary embodiments in which the invention may be practiced. Theseembodiments are described in sufficient detail to enable those skilledin the art to practice the invention, and it is to be understood thatother embodiments may be utilized and that logical, mechanical,electrical and other changes may be made without departing from thescope of the present invention.

Some portions of the detailed descriptions which follow are presented interms of algorithms and symbolic representations of operations on databits within a computer memory. These algorithmic descriptions andrepresentations are the ways used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like. It should be borne in mind, however, thatall of these and similar terms are to be associated with the appropriatephysical quantities and are merely convenient labels applied to thesequantities. Unless specifically stated otherwise as apparent from thefollowing discussions, terms such as “processing” or “computing” or“calculating” or “determining” or “displaying” or the like, refer to theaction and processes of a computer system, or similar computing device,that manipulates and transforms data represented as physical (e.g.,electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

In the Figures, the same reference number is used throughout to refer toan identical component which appears in multiple Figures. Signals andconnections may be referred to by the same reference number or label,and the actual meaning will be clear from its use in the context of thedescription.

The following detailed description is, therefore, not to be taken in alimiting sense, and the scope of the present invention is defined onlyby the appended claims.

DEFINITIONS

-   The following terms and acronyms may be used in the specification:-   DRP—Distributed Route Processor-   EMS—Element Management System-   FCAPS—Fault, Configuration, Accounting, Performance, Security-   FIB—Forwarding Information Base-   LC—Line Card-   MS—Management System-   OIR—Online Insertion and Removal-   OSS—Operations Support System-   Root-LR—The entity who is the owner of the LR.-   Root-System—The entity who is the owner and administrator of the    router chassis. The root-system user functions with “root”    privileges over all router components and has the ability to monitor    all LRs through the Admin Plane.-   SC—Shelf Controller (controls all cards in a rack/bay)-   RP—Route Processor (manages all cards in a rack and runs routing    software for its LR)-   Primary-Admin—A RP designated for managing the entire physical    router. This is where the configuration used to manage and partition    the physical router is stored. There may be some system software    that only runs here.-   Primary-LR—The RP where the authoritative configuration to manage    the LR is stored. There may be some LR management software that only    runs on this node.-   root-LR—An external entity that has configuration and management    control over a LR. Root-LR has control over one LR and can assign    users and privileges within that LR.-   LR—Logical Router

Owner-LR—In some embodiments, this is the LR associated withroot-system. It may be the default LR and may be the access point tomanage the Admin Plane.

-   LR User—An external entity that has restricted (restrictions defined    by the root-system or by the root-LR) access to a LR.-   Admin Plane—A plane of communication distinct from the intra-LR    communication to allow coordination between LRs.-   LR Plane—A plane of communication that comprises all nodes within a    LR and is distinct from the Admin Plane and all other LR planes. In    some embodiments the LR plane of one LR does not overlap physically    with that of other LRs.

OPERATING ENVIRONMENT

FIG. 1A is a block diagram of a physical router hardware and operatingenvironment 100 in which different embodiments of the invention can bepracticed. In some embodiments of the invention, router 100 includes oneor more line card shelves 102, one or more fabric shelves 104 and one ormore optics shelves 106. A group of one or more shelves may be referredto as a “rack” or “bay”. In some embodiments, each shelf includes anumber of slots capable of accepting and interconnecting differing typesof router elements. The shelves are interconnected using fiber opticcables. In some embodiments, fabric shelf 104 is divided into twobackplanes, comprising two sets of autonomous control planes that sharepower and cooling resources within the rack they occupy. In someembodiments, a fabric rack may include up to 48 cards to manage S2fabric elements.

Optics shelf 106 is optional, and when part of a router 100 may containWDM (Wave Division Multiplexing) equipment, optical switches used forwavelength switching, and other optical components such as amplifiersand long reach optics.

FIG. 1B is a diagram providing further details of the router hardwareand operating environment according to an embodiment of the invention,including the differing types of router elements that may be placed inline card shelves 102. In some embodiments, router elements that may beplaced in the slots of line card shelves 102 include shelves controllers(SC), Route Processors (RP) 110, line cards (LC) 112 and distributedroute processors (DRP) 114. SCs or RPs 110 may be used to manage thehardware components of a given rack (bay) if necessary, although primarycontrol of the entire system, including the rack may be through thePrimary-Admin (described below) in some embodiments. In some embodimentsthere may be two SCs or RPs 110 per rack for redundancy purposes, withthe second SC or RP 110 operating in a stand-by mode. The DRP 114 and LC112 router elements within router environment 100 may be allocated asdescribed in detail below to Logical Routers configured within routerenvironment 100. In some embodiments, SCs may not be allocated to a LR;rather they are a resource managed by an Admin Plane. Thus SCs are notaccessible to the LR operators and are accessible only by theroot-system operators. It should be noted that the router elementsassigned to a LR may be located in multiple line card racks 102, theyneed not be colocated in a single rack. This is further illustrated inFIG. 1D described below.

In some embodiments, SCs and/or RPs 110 provide the following functionsin the line card rack 102:

-   -   Bringup and image download to cards in the rack    -   Inventory management without respect to LR assignment.    -   They will take the Primary-Admin role according to configuration        and election mechanisms.    -   When operating as Primary-Admin, a RP will perform inventory        partitioning among LRs. In some embodiments, once initial        partitioning is done and a Primary-Admin is selected, the        subsequent inventory management can be done through the Admin        Plane (with partitioning data still residing on the RPs or SCs        and being modified through the Admin Plane). In other        embodiments, the partitioning of the system is predicated on the        election of a Primary-Admin, where the partitioning        configuration is stored.    -   Synchronization of inventory data between multiple SCs/RPs    -   OIR detection    -   Diagnostics of all cards/components in a rack    -   Card redundancy/fail-over control    -   Environment monitoring and cooling control    -   Configuration and monitoring of connections to the cross-connect        fabric    -   Control of the internal Gigabit Ethernet and Fast Ethernet or        other buses

In some embodiments SCs/RPs 110 have persistent storage such as a flashmemory card or hard disk, and may be used to store the inventory ofpartitioning of h/w (cards) into LRs and diagnostic logs for the localrack and cards within it.

The SCs in fabric racks 104 and optics racks 106 have similar basicfunctionality and fabric/optics specific functions as described abovewith respect to RPs 110.

Line cards 112 switch data that is traversing the router and have perinterface fault monitoring, configuration, accounting and performancemonitoring components. Line cards 112 also collect statistics regardingthe flow of network data passing through the line card 112. In someembodiments, line cards 112 include a general purpose CPU andspecialized switching hardware for packet switching at line rates. Inaddition, line card 112 may include flash memory to contain a boot imagefor the line card processor.

DRP 114 comprises a general purpose processor available to run routing,management and router infrastructure software. In some embodiments, asingle DRP board insertable in a slot in a line card shelf contains twoprocessing elements. In these embodiments, there are two sets ofphysical hardware, one for each processing element on the board. In someembodiments, the two processing elements on a board share a fabricconnection. Boot image software and configuration data is maintained onpersistent storage on the DRP. In some embodiments, the persistentstorage is flash memory, however any persistent storage mechanism knownin the art may be used. Other software and data may be maintained on adisk such as a PCMCIA disk on DRP 114. DRPs may be used to load shareinstances of routing processes (OSPF, IS-IS, BGP etc).

Processes running on RPs and DRPs manage the functioning of a LR. Forexample, a RIB (Routing Information Base, based on the informationobtained from DRPs) is built, converted to FIB (Forwarding InformationBase) which is then downloaded to line cards using the switch fabric.Processes on these cards also perform other network layer 3 functionslike restoration, MPLS and traffic engineering support, routing protocoland connection management and static routing configuration, ACL supportetc.

A LR is managed through software running on its RPs and/or DRPs. Forexample, a LR user/root-lr (either human or machine) can connect to theLR using CORBA (Common Object Request Broker Architecture), CLI (CommandLine Interpreter), SNMP (Simple Network Management Protocol) or HTTP(Hyper-Text Transfer Protocol).

The Primary-LR contains configuration and provisioning information for aLR and aggregates performance, accounting, and fault managementfunctions for a LR. High bandwidth data is configured through commandshosted on the Primary-LR, but the data can be sent directly to anexternal collector using a path set up through switching fabric and alinecard. Persistent storage on a Primary-LR element such as a PCMCIAdisk may be used to store configuration, performance, accounting andfault management data. In some embodiments, a Primary-LR performs one ormore of the following functions:

-   -   Main programmatic and non-programmatic access point to a LR        (CORBA/CLI/SNMP/Http Support)    -   LR loopback address/management proxy servers location (for        management connectivity which is routed to the router over the        LC interfaces)    -   LR—wide configuration creation and modification (including        configuration of interfaces, routing protocols, LR user profiles        etc)    -   LR monitoring access point (performance, accounting, and fault        management at interface granularity level).    -   Maintain operational data—LC status, routing tables, etc.    -   Maintain performance statistics    -   Maintain accounting data    -   Fault management information—LC failure control, etc.    -   System diagnostics access and diagnostics related information    -   Debugging/diagnostics information    -   Warm restart images

Thus in some embodiments, the Primary-LR is at the logical center of theLR and acts as the entity with routing and proxy intelligence. Routingand configuration of the LR is distributed across DRPs 114, the DRPs 114are in turn managed via the Primary-LR. If the router system 100 iscomposed of many LRs, each LR is managed by a separate Primary-LR. It ispossible that some aspects of the Primary-LRs functionality may bedistributed across more than one DRP 114 or RP 110 card for scalabilityreasons. It is also possible that the entire router system 100 canfunction as a single LR.

One RP 110 may be designated or elected as a Primary-Admin. ThePrimary-Admin manages the Admin Plane 140 (FIG. 1D), which is howroot-system manages the router. In some embodiments, the Primary-Adminis used to manage all hardware components of the router, either directlyor indirectly through RPs 110 and/or SCs. If the root-system alsooperates a LR, the RP 110 that is elected Primary-Admin may also havethe Primary-LR role for the Owner-LR. Persistent storage on thePrimary-Admin may be used for storing configuration information, alarmand performance data used by common hardware in the router environment100, diagnostic logs for all router components, and LR administrativestatistics, audit and accounting logs.

In some embodiments, the Primary-Admin provides one or more of thefollowing functions in the router (though in some embodiments some ofthese functions may be distributed amongst other nodes in the AdminPlane):

-   -   Inventory management and LR resource allocation/administration    -   Bring up management and image management of all cards, including        OIR handling (through RP or SC)    -   Diagnostics of all cards/components.    -   Overall router health monitoring    -   Management of resources shared among LRs (e.g. Fabric,        environmental monitors)    -   Some MIBs (Management Information Base), statistics, logging,        alarm and audit capabilities useful for an router owner.        Includes SNMP agent to export inventory, fault, performance data    -   Card redundancy/fail over control (through RP or SC)

FIG. 1C is a diagram providing further details of the datacommunications external and internal to the hardware and operatingenvironment according to an embodiment of the invention. In someembodiments, RPs 110 and SCs on differing racks are interconnectedthrough a Gigabit Ethernet switch 120. LR components within a rack suchas RP 110, DRPs 114 and LCs 112 may be interconnected using a fastEthernet 122 in some embodiments. Additionally, LR components includingRPs and DRPs and LCs in LC racks 102 both within a rack and on differingracks are interconnected via fabric cross connect 126. In someembodiments it is noted that the data flow (data that travels in thedata plane) between distinct LRs is not internally switched through thefabric cross connect 126. Rather, this data is routed external to therouter and then is routed back in.

System management messages may be constrained to using a certain paths.For example, flow accounting data may be constrained to use a fabric 126path to an external collector. The path may be predetermined through ahardcoded entry or through a configuration entry. This path constraintis desirable in order to ensure predictable delivery and ordering.

During router bringup and LR configuration, a combination of theinternal Gigabit Ethernet 120 and Fast Ethernet 122 may be used. In someembodiments, the switching fabric 126 is unavailable at bringup time.Additionally, Primary-Admin and SC 110 may need to interact in order toexchange configuration tables and other related data. This interactiontypically takes place over the internal Fast Ethernet 122.

Statistics, debugs and logs from the LCs 112 may be uploaded to an RP110 or DRP 114 through the Fabric 126.

In addition to the inherent external communications provided by LCs 112,DRPs 114, RPs 110 and SCs are also capable of communicating withentities external to a router 100. RPs, DRPs and SCs in some embodimentsmay include a 10/100 Ethernet connection 128 and a console port 130 tocommunicate with external entities.

In some embodiments, RPs 110 and DRPs 114 include a Gigabit Ethernetconnection 124 and an on-board debug port 126. Gigabit Ethernetconnection 124 may be used to allow root-LRs to configure a LR and toperform FCAPs functions regarding the LR. If RP 110 is functioning as anPrimary-Admin, the router owner may use the Gigabit Ethernet connection124 for super configuration of the router and for performing FCAPs anddiagnostics functions for the entire router. On-board debug port 126 maybe used to provide initial hardware and software debugging capabilities.

FIG. 1D is a diagram illustrating exemplary plane boundaries within arouter 100 that has been configured with two LRs 142.1 and 142.2 on fourline card racks 102. As shown in FIG. 1D, an LR may include elementsfrom more than one line card rack 102. In the exemplary configuration,LR 142.1 includes router elements in LCs 102.1, 102.2 and 102.3, whileLR 142.2 has been configured with router elements n LCs 102.3 and 102.4.

In addition, the Admin plane 140 (shaded area) for the router is shownas including elements (RPs, and SCs) from each of the line card racks102 in the router. The elements in the admin plane participate in theconfiguration and management of the router and the LRs configured withinthe router.

FIG. 2 is a diagram of a router software environment 200 according to anembodiment of the invention. In some embodiments, router softwareenvironment 200 includes a Network and Service Management (NSM)component 202, an Element Management System 204, a web interface 206 andsoftware components executed within an LR 142.

An Element Management System 204 in some embodiments may be providedthrough a separate workstation/server. The workstation may be a UNIXbased workstation (e.g. SUN Solaris). In some embodiments, EMS 204communicates with the physical router 100 using CORBA, however othercommunications methods may be used. The EMS typically has disk storagewith a relational database management system (e.g. Oracle), which may beused to store configuration, performance, alarm and accounting data.

In alternative embodiments, EMS 204 may be provided as a module runningwithin a router system 100.

In some embodiments, EMS 204 provides web based GUI and FCAPSapplications to aid in the provisioning, event correlation andperformance monitoring of a LR. In some embodiments, an instance of EMS204 is configured such that it may only manage one LR throughcommunications with a RP 110 associated with the LR. Alternatively, EMS204 may be configured to communicate with an Primary-Admin, in whichcase the EMS 204 has access to the entire physical router.

Network and Service Management (NSM) 202 is logically above the EMSsystem 204 and may include customer provided/developed applications,third-party applications, and network flow and provisioning tools.Because EMS 204 is optional, NSM 202 can also interact directly with thephysical router 100. Typically NSM systems focus on serviceprovisioning, service monitoring (including network performance andstatistics), billing and fault handling/reporting.

In varying embodiments of the invention, software running within a LRincludes various software components (referred to collectively ascontrol agents 218) configured to communicate with software modules suchas EMS 204 and/or NSM 202 in order to support configuration, FCAPS,software downloads, and test/diagnoses of router 100 and LRs withinrouter 100. In various embodiments, software in the LR includes one ormore of inventory component 220, configuration component 222, alarmcomponent 224, performance/accounting component 226, download component228 and/or test/diagnosis component 230. In some embodiments, thesecontrol agents 218 interface with an object model 240 that stores dataregarding various aspects of router 100 or LRs configured within router100.

Additionally, a variety of communications mechanisms may be used tocommunicate with control agents 218 in LR plane 142. Examples of suchmechanisms include TFTP 208, CORBA 210, SNMP 211, CLI (command lineinterface) 214 and HTTP 216. In some embodiments, security mechanismsmay be provided for the communications mechanisms throughusername-password protection, multiple user privilege levels, accesslists, secure shell (SSH), SNMP V3, CORBA, and HTTP security mechanisms(e.g. Secure Socket Layer—SSL).

Object model 240 may include an Object Request Broker (ORB). In someembodiments, the ORB may be based on OMG CORBA 2.3 or laterspecification. Due to the embedded nature, an ORB incorporated bymodules such as RP 110 or other element within an LR plane 142 may fallsomewhere between the full and the minimum specification defined by OMG.Examples of ORBs that may be used within varying embodiments of theinvention include e*ORB, ORBexpress, TAO and VisiBroker.

FIGS. 3A-3B are flowcharts illustrating methods for creating andmaintaining a logical router according to embodiments of the invention.The methods to be performed by the operating environment constitutecomputer programs made up of computer-executable instructions.Describing the methods by reference to a flowchart enables one skilledin the art to develop such programs including such instructions to carryout the methods on suitable computers (the processor or processors ofthe computer executing the instructions from computer-readable media).The methods illustrated in FIGS. 3A-3B are inclusive of acts that may betaken by an operating environment executing an exemplary embodiment ofthe invention.

FIG. 3A illustrates a method for creating a LR according to anembodiment of the invention. The method begins by creating at least oneLR on the physical router (block 305). The configuration of a router maybe referred to as “super configuration”, while configuring eachindividual LR may be referred to as LR configuration. In someembodiments, an LR is created by the Primary-Admin. Primary-Admin getsthe inventory information on which cards are available in the systemfrom the SCs and/or RPs. In some embodiments, all cards that are notassigned to another LR are assigned to the Owner-LR. The superconfiguration may be stored on any form of persistent storage, and insome embodiments is stored on a disk accessible within the Admin-Plane.In some embodiments, the Primary-Admin is the only entity through whichthe owner can perform a super configuration. Based on thisconfiguration, the Logical Router Daemon (LRd) running on thePrimary-Admin node creates LR partitioning tables and distributesappropriate necessary information to the LRd in other LRs. The LRd inthe Owner-LR administers the partitioning of the system into multipleLRs, and the LRd in each LR (including the Owner-LR) manages theinventory for that LR.

Next, router elements are allocated to the newly created LR (block 310).In some embodiments, router elements may be allocated by identifying thecard slots (specified by a rack number and a local slot number) thatbelong to which LR. The card slots refer to only the slots that canaccommodate LC, DRP or RP cards. This super configuration may create aruntime slot-to-LR Inventory Table (see Table 1) maintained by systeminventory software in the Admin Plane. Note that the card slots also canbe unassigned from any LR and reassigned to other LRs. In fact, theentire LR may be dismantled (with the exception of Owner-LR inembodiments with such an LR). Also, some card slots may not be assignedto any LR in some embodiments. In some embodiments, Admin Planeconfiguration will reflect which card slots are unassigned in a freepool, for later assignment.

In some embodiments, a LR is created so as to have at least one RP card.Additionally, LC, DRP and further RP cards may be assigned to the LR. Insome embodiments, it is assumed that an LC, DRP, or RP may only belongto one LR and cannot belong to more than one LR at the same time.Typically a LR will have one or more RP, DRPs and LCs. SCs, fabric andoptical cards are shared resources owned by physical router/Admin Planeand do not belong to any particular LR.

Super configuration may also specify the configuration of LR toFiber/wavelength assignment within optical racks.

In some embodiments, only entities with root-system privileges areallowed to perform super configuration. Super configuration may alsospecify what image each card/LR will use. This information isdistributed to SCs and RPs in the Admin Plane. In some embodimentsroot-LR will be able to specify the image or parts of the image thatwill run within their LR.

Note that during the system's normal operation, card slots may be addedand/or removed by adding or deleting racks because of upgrades orfailure. Also, depending on the end user deployment, LRs may be createdand deleted dynamically by root-system configuration. As a result, it isdesirable that the partitioning scheme be dynamic since boot-time staticpartitioning may be too limiting.

Those of skill in the art will appreciate that other mechanisms could beused to identify LR membership instead of or in addition to card slots.For example, an identifier uniquely identifying a router element mayalso be used to specify the LR association.

In some embodiments, LR creation is not complete until the root-systemdoes some minimal configuration in the Primary-LR card of the particularLR for permitting a root-LR to do the full LR configuration later. Ifthere is no RP or DRP card in a LR or the initial configuration is notcomplete, that LR will remain non-operational.

In some embodiments, a Slot-LR inventory database is used within therouter to specify the association between a card slot and a LR. The LRdthat handles the Admin Plane configuration may create this database whenLRs are created. Whenever LRs are created/deleted/reallocated, or whencard slots are added/deleted to any of the existing LRs, the LRd mayupdate this database. This configuration is stored in persistent storageand hence this database can be recreated across reboots of the router.In some embodiments, a table is used to specify slot to LR assignments.In alternative embodiments, a list, array or other data structure may beused to specify slot to LR assignments. Table 1 below provides anexample of a Slot-LR table used in one embodiment of the invention.

TABLE 1 LR1 LR2 LR3 . . . R1S1 1 0 0 R1S2 0 1 0 . . . R1S24 0 0 0 R2S1 10 0 R2S2 0 0 1 . . .In the example shown, the cards located in rack 1, slot 1 and rack 2slot 1 have been allocated to LR 1, the card located in rack 1 slot 2have been allocated to LR 2, and, the card in rack 2 slot 2 has beenallocated to LR 3.

In alternative embodiments, LR identifiers such as LR names may beassociated with each rack and slot in the system in a configurationdatabase maintained by Admin Plane.

After root-system configures the router (through Owner-LR/Admin Plane)with appropriate software images, runs diagnostics to ensure that thesystem performs correctly and optionally partitions the router intomultiple LRs, each LR is then ready for configuration by a correspondingroot-lr.

Next, the LR itself is configured (block 315). In some embodiments,intra-LR partitioning concerns assigning/unassigning LCs and DRPs toappropriate DRPs. This is typically done by the root-LR, an entity whichis allowed (by root-system) to configure a LR. Many root-LRs can beconfigured on a LR. The root-LR table is set up by the Owner when therouter is commissioned or when a LR is created. Intra-LR partitioning isdynamic i.e. card slots may be added/removed to/from the LR and also thecards within the assigned slots are OIR-able.

In some embodiments, the LR configuration includes configuring whichDRPs or RPs will manage a set of LCs or run certain processes within thelogical boundary of the LR. This configuration may be done through a LRconfiguration.

Note that during slot assignment to LRs, there may or may not be linecards in the slots. Generally only the RPs or SCs in the rack knowwhether there are cards in the slots or not and this information is thendistributed to the LRd and other processes. Also, typically only the RPsin the local rack can detect OIR of cards. In some embodiments, theAdmin Plane contains this information from SCs and provides means fornotifying LRd in each LR. When a LR is configured, the LRd may query theLRd in the Owner-LR or the Admin-Plane inventory information for thelist of slots that are owned by its LR and which slots have what cardscurrently and further register for OIR events with Admin Plane inventorymanagement software for any future OIR events within those slots. Also,in some embodiments, when card slots themselves are added/removed fromthe LR by root-system through the Admin Plane configuration, Admin Planeconfiguration software will provide for notification to the appropriateLRd, which then will take appropriate action. Also, the root-system mayrequest complete shutdown of a LR when the entire LR is beingdismantled.

Some embodiments of the invention maintain a Slot-RP assignment table.Generally there is one Slot-RP table per rack, and the table may bemaintained by Admin Plane. In some embodiments, this table is typicallyused as an optimization step during a discovery process. DRPs and LCsquery the Admin Plane for their assignment information, and that thisinformation is used to find the LRd for their LR.

In some embodiments, root-LR may have limited access to the root-systemconfiguration, and that configuration would be used by the RP when itsassociated LR boots. The RP may have access to the system part of thePrimary-Admin configuration.

FIG. 3B illustrates a method for handling the insertion of a routerelement according to an embodiment of the invention. The method beginsby detecting the insertion of a router element card into a slot in therouter (block 320). In some embodiments, the insertion of the routerelement card into the slot cause the card to power up and bootstrap withcode stored in on-board memory such as an on-board flash memory. In someembodiments, a signal is sent to the SC or RP for the rack to notify thecard of the insertion.

Next, in some embodiments, the Admin Plane for the router is notified ofthe insertion by the SC or RP (block 325). Admin Plane will pass thisevent to the LRd that owns that slot (if there is any) of the card bylooking up the Slot-RP assignment in a configuration database.Alternatively the notification may be multicast in some embodiments toall LRds, but only the owning LRd takes action. Also, in someembodiments, corresponding SNMP traps may be generated on both Admin andLR to facilitate card auto-discovery on external management stations.

Additionally, a boot image may be sent to the card (block 330). In someembodiments, the bootstrap process on the card initializes a fastEthernet interface and the initial bootstrap program starts an imageloader that establishes communication with SC or RP for system imagedownloading.

Images for the router element cards may be kept in a persistent storagedevice associated with the SC or RP in the same rack. In someembodiments, the image loader (launched by the bootstrap process)multicasts request for a system image by specifying inventoryinformation in the message (e.g. card type, slot number, etc.). The SCor RP selects the image and transfers it to the router element card viathe FE link.

Next, a check is made to determine if the router element card isallocated to a LR (block 335). In some embodiments all potential LRelements default to the LR associated with the Owner-LR, so the abovecheck is always affirmative for these elements. Each SC may keep a copyof a subset of the LR assignment table (Table-1) that contains onlyslots in the same rack. After a router element card is up and running,it queries the SC or RP for information about joining the appropriate LRplane (block 345). The SC or RP sends a response by looking up the SlotAssignment Table or by querying the LRd in the Owner-LR. Otherwise, insome embodiments the id of the Owner-LR will be given to the routerelement card. The router element card becomes a member of the Owner-LR(block 340). Alternatively, the card may be assigned to a free pool.

CONCLUSION

Systems and methods for providing a logical router within a physicalrouter have been disclosed. The systems and methods described provideadvantages over previous systems. Although specific embodiments havebeen illustrated and described herein, it will be appreciated by thoseof ordinary skill in the art that any arrangement which is calculated toachieve the same purpose may be substituted for the specific embodimentsshown. This application is intended to cover any adaptations orvariations of the present invention.

The terminology used in this application is meant to include all ofthese environments. It is to be understood that the above description isintended to be illustrative, and not restrictive. Many other embodimentswill be apparent to those of skill in the art upon reviewing the abovedescription. Therefore, it is manifestly intended that this invention belimited only by the following claims and equivalents thereof.

1. A method for providing a logical router within a physical router, themethod comprising: creating at least one logical router (LR) on thephysical router; allocating a plurality of router elements within thephysical router to the at least one LR; assigning ownership of the atleast one LR to an LR owner entity; and configuring the plurality ofrouter elements within the LR; wherein creating the at least one LR,allocating the plurality of router elements and assigning ownership ofthe at least one LR require at least a first privilege level and whereinconfiguring the plurality of router elements requires at least a secondprivilege level, the second privilege level restricting access to the atleast one LR to the LR owner entity or to a user having the firstprivilege level.
 2. The method of claim 1, wherein allocating aplurality of router elements includes assigning a slot address to the atleast one LR.
 3. The method of claim 1, wherein allocating a pluralityof router elements includes assigning a router element identifier to theat least one LR.
 4. The method of claim 1, wherein configuring theplurality of router elements includes configuring a distributed routeprocessor.
 5. The method of claim 1, wherein configuring the pluralityof router elements includes configuring a line card.
 6. The method ofclaim 1, wherein configuring the plurality of router elements includesconfiguring a Route Processor.
 7. The method of claim 1, whereinallocating a router element of the plurality of router elements includesallocating the router element to only one LR at a particular time.
 8. Arouter comprising: means for creating at least one LR on the physicalrouter; means for allocating a plurality of router elements within thephysical router to at least one LR; means for assigning ownership of theat least one LR to an LR owner entity; and means for configuring theplurality of the router elements within the LR; wherein the means forcreating the at least one LR, the means for allocating the plurality ofrouter elements and the means for assigning ownership of the at leastone LR require at least a first privilege level and wherein the meansfor configuring the plurality of router elements requires at least asecond privilege level, the second privilege level restricting access tothe at least one LR to the LR owner entity or to a user having the firstprivilege level.
 9. The router claim 8, wherein the means for allocatinga plurality of router elements includes means for assigning a slotaddress to the at least one LR.
 10. The router of claim 8, wherein themeans for allocating a plurality of router elements includes means forassigning a router element identifier to the at least one LR.
 11. Therouter of claim 8, wherein the router element is a distributed routeprocessor.
 12. The router of claim 8, wherein the router element is aline card.
 13. A computer-readable medium having computer-executableinstructions for providing a logical router (LR) within a physicalrouter, the method comprising: creating at least one LR on the physicalrouter; allocating a plurality of router elements within the physicalrouter to the at least one LR assigning ownership of the at least one LRto an LR owner entity; and configuring the plurality of router elementswithin the at least one LR; wherein creating the at least one LR,allocating the plurality of router elements and assigning ownership ofthe at least one LR require at least a first privilege level and whereinconfiguring the plurality of router elements requires at least a secondprivilege level, the second privilege level restricting access to the atleast one LR to the LR owner entity or to a user having the firstprivilege level.
 14. The computer-readable medium of claim 13, whereinallocating a plurality of router elements includes assigning a slotaddress to the at least one LR.
 15. The computer-readable medium ofclaim 13, wherein allocating a plurality of router elements includesassigning a router element identifier to the at least one LR.
 16. Thecomputer-readable medium of claim 13, wherein configuring the pluralityof router elements includes configuring a distributed route processor.17. The computer-readable medium of claim 13, wherein configuring theplurality of router elements includes configuring a line card.
 18. Thecomputer-readable medium of claim 13, wherein allocating a routerelement of the plurality of router elements includes allocating therouter element to only one LR at a particular time.
 19. A computerizedmethod for configuring a logical router (LR) within a physical router,the method comprising: selecting a LR on the physical router, the LRhaving an owner entity; allocating a plurality of router elements withinthe physical router to the selected LR; receiving configuration data forthe plurality of the router elements within the at least one LR; andstoring the configuration data in a configuration for the LR; whereinselecting the LR, and allocating the plurality of router elementsrequire at least a first privilege level and wherein receivingconfiguration data for the plurality of router elements and storing theconfiguration data requires at least a second privilege level, thesecond privilege level restricting access to the at least one LR to theLR owner entity or to a user having the first privilege level.
 20. Thecomputerized method of claim 19, wherein selecting the LR comprisesselecting a default LR.
 21. The computerized method of claim 19, whereinallocating a plurality of router elements includes assigning a slotaddress to the at least one LR.
 22. The computerized method of claim 19,wherein allocating a plurality of router elements includes assigning arouter element identifier to the at least one LR.
 23. The computerizedmethod of claim 19, wherein configuring the plurality of router elementsincludes configuring a distributed route processor.
 24. The computerizedmethod of claim 19, wherein configuring the plurality of router elementsincludes configuring a line card.
 25. A computer-readable medium havingcomputer-executable instructions for providing a logical router (LR)within a physical router, the method comprising: selecting a LR on thephysical router, the LR having an owner entity; allocating a pluralityof router elements within the physical router to the selected LR;receiving configuration data for the plurality of the router elementswithin the at least one LR; and storing the configuration data in aconfiguration for the LR; wherein selecting the LR, and allocating theplurality of router elements require at least a first privilege leveland wherein receiving configuration data for the plurality of routerelements and storing the configuration data requires at least a secondprivilege level, the second privilege level restricting access to the atleast one LR to the LR owner entity or to a user having the firstprivilege level.
 26. The computer-readable medium of claim 25, whereinselecting the LR comprises selecting a default LR.
 27. Thecomputer-readable medium of claim 25, wherein allocating a plurality ofrouter elements includes assigning a slot address to the at least oneLR.
 28. The computer-readable medium of claim 25, wherein allocating aplurality of router elements includes assigning a router elementidentifier to the at least one LR.
 29. The computer-readable medium ofclaim 25, wherein receiving configuration data for a router element ofthe plurality of router elements includes receiving configuration datafor a distributed route processor.
 30. The computer-readable medium ofclaim 25, wherein receiving configuration data for a router element ofthe plurality of router elements includes receiving configuration datafor a line card.